// Learn TypeScript:
//  - [Chinese] http://docs.cocos.com/creator/manual/zh/scripting/typescript.html
//  - [English] http://www.cocos2d-x.org/docs/creator/manual/en/scripting/typescript.html
// Learn Attribute:
//  - [Chinese] http://docs.cocos.com/creator/manual/zh/scripting/reference/attributes.html
//  - [English] http://www.cocos2d-x.org/docs/creator/manual/en/scripting/reference/attributes.html
// Learn life-cycle callbacks:
//  - [Chinese] http://docs.cocos.com/creator/manual/zh/scripting/life-cycle-callbacks.html
//  - [English] http://www.cocos2d-x.org/docs/creator/manual/en/scripting/life-cycle-callbacks.html

import {globalConfig} from "../config/globalConfig";

const {ccclass, property} = cc._decorator;

@ccclass
export default class KillTip extends cc.Component {

  @property(cc.Label)
  label: cc.Label = null;

  @property(cc.Node)
  hero: cc.Node = null;

  action: cc.Action;

  onLoad() {
    this.hero.on('continousKill', this.onKill, this);
    this.node.active = false
    // this.action = cc.scaleTo()
  }

  private onKill(e) {
    let kill = e.detail
    if (kill > 10) {
      kill = 10
    }
    const config = globalConfig.point_config[kill - 1]
    if (config) {
      const tip = config['tip']
      if (tip) {
        this.showKill(tip);
      }
    }
  }

  private timeoutId = -1

  private showKill(text: string) {
    this.node.active = true;
    this.label.string = text;
    clearTimeout(this.timeoutId)
    this.timeoutId = setTimeout(() => {
      this.node.active = false;
    }, 2000)
  }

}
